package com.ns.sbs.oauth.acc4log.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ns.core.vo.bs.BasicVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * 登录日志返回实体
 *
 * @author liaowei
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@Accessors(chain = true)
public class AccLoginVO extends BasicVO {

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 管理员账号id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long accId;

    /**
     * 本次登录Token
     */
    private String accToken;

    /**
     * 登陆IP
     */
    private String loginIp;

    /**
     * 登陆地点
     */
    private String address;

    /**
     * 客户端设备标识
     */
    private String device;

    /**
     * 客户端系统标识
     */
    private String systemBy;


    // ---------- 额外字段 ----------
    /**
     * 管理员名称
     */
    private String adminName;

    /**
     * 管理员头像
     */
    private String adminAvatar;
    /**
     * 所属租户
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long rid;

    /**
     * 所属服务
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long sid;
}
